IP 地址
复习
- 协议分层与封装:协议分层把通信问题拆成互相协作的职责
- 为什么还需要 IP:MAC 地址只适合本地链路,IP 提供可路由的层次地址
- IPv4 数据包:提供跨网络的统一信封,首部含地址、协议、长度与 TTL
TL;DR
- IPv4 地址用 32 位表示接口所在的网络与主机位置
- 点分十进制只是 32 位的便捷写法
- 地址中“网络部分”和“主机部分”的切分,由前缀长度决定
正文
你可能早就见过 192.168.1.20 这样的写法。它看起来很直观,像是四段数字,但它真正的身份其实很简单:一段 32 位的二进制数,只是被拆成四段、每段写成十进制,中间用点隔开,方便人读。
32 位,藏着网络与主机
这 32 位并不全是“设备编号”。它被分成两部分:
- 一部分说明“你在哪个网络”
- 其余部分标识“你是这个网络里的哪一台”
这样一来,路由器就只需关心网络部分,把同一网络里的大量主机聚合成一条路由,从而大幅缩小转发表。这正是上一章“为什么需要 IP”的延续。
不过,网络部分和主机部分的分界线到底在哪?这由前缀长度决定,而不是写死在地址本身里。所以单独看一个 IP 地址,还不足以判断它属于多大的网络——还需要知道它的前缀。
地址更像“位置”,而非“身份证”
这里要建立一个重要直觉:IP 地址更接近“位置”,而不是永久的设备身份证。
为什么?因为设备换到一个新网络时,通常需要获得一个适合新网络的地址。就像你搬家后,收货地址会变,但你还是你。地址描述的是“你现在在网络的哪里”,而不是“你天生是谁”。
这和 MAC 地址恰好形成对比:MAC 地址更像网卡的固定身份,而 IP 地址更像随时可能变化的位置信息。一个负责本地身份,一个负责网络位置,两者分工明确。
那么,怎样用一个更简洁的写法来表示“网络 + 前缀长度”?下一章揭晓。
思考题 1
为什么 IP 地址更接近“位置”而非永久设备身份证?
思考题 2
只看
192.168.1.20这一串数字,能否判断它属于多大的网络?为什么?
小结
知识点
- IPv4 地址是 32 位,点分十进制只是显示形式
- 地址分为网络部分与主机部分,切分由前缀长度决定
- IP 地址体现网络位置,会随接入网络变化
参考资料
- Wikipedia(zh):IP地址:网络接口的逻辑地址
- Wikipedia(zh):点分十进制:IPv4 地址的常见书写方式
思考题答案(仅供参考)
思考题 1
因为它描述的是接口当前所处的网络位置,设备换到另一网络时通常需要获得适合新网络的地址。它随位置而变,不像身份证那样永久绑定某个设备,所以更接近“地址”而非“身份”。
思考题 2
不能。网络部分与主机部分的分界线由前缀长度决定,而这串数字本身没有携带前缀信息。同样的 192.168.1.20,在不同前缀下可能属于不同大小的网络。要判断它所在的范围,必须同时知道前缀。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图

设计师 | 南国微雪